package maven_Txl.maven_txl;

import java.io.File;
import java.util.Iterator;
import java.util.Scanner;

/**
 * 主函数类
 * @author GG
 *
 */

public class MainClass {
	private static Tongxl txl = new Tongxl();//创建通讯录
	private static File f = new File("src/main/java/maven_Txl/maven_txl/Txl.txt");//打开通讯录文件
	
	/**
	 * 通讯录主目录
	 */
	private static void showMenu() {
		show("通讯录");
		show("\t1 查看通讯录");
		show("\t2添加学生信息");
		show("\t3修改学生信息");
		show("\t4删除通讯录");
		show("\t5保存通讯录");
		show("\t6退出");
		show("\t7全部通讯录");
		System.out.println("请选择操作并输入序号：");
		Scanner in = new Scanner(System.in);
		int xh = in.nextInt();//定义序号
		switch(xh){
			case 1:selectTxl();
				break;
			case 2:addTxl();
				break;
			case 3:updateTxl();
				break;
			case 4:deleteTxl();
				break;
			case 5:saveTxl();
				break;
			case 6:System.exit(0);
				break;
			case 7:showTxl();
				break;
			default:showMenu();
		}
		
	}
	public static void show(String s){
		System.out.println(s);
	}
	public static void enter(){
		new Scanner(System.in).nextLine();
	}
	/**
	 * 显示全部的通讯录内容
	 */
	public static void showTxl(){
		Iterator<Student> itor = txl.iterator();
		Student s;
		if(txl.size()==0){
			show("通讯录为空！");
			enter();
			showMenu();
			return;
		}
		int i = 1;
		while(itor.hasNext()){
			s=itor.next();
			showStu(s);//显示学生信息
		}
		show("为最后一页，没有更多的了");
		enter();
		showMenu();
	}
	
	public static void showStu(Student s){
		show("姓名"+s.getName()+"性别"+s.getSex()+"地址"+s.getAdd()+"电话"+s.getTel()+"email"+s.getEmail());
		
	}
	
	/**
	 * 查找学生信息
	 */
	public static void selectTxl(){
		System.out.println("请输入要查找人的姓名：");
		String sel = new Scanner(System.in).next();
		Student s1[] = txl.findStu(sel);//查找联系人
		if(s1.length==0){
			show("没有该联系人，请确定姓名是否输入正确！");
			enter();
			showMenu();
			return;
		}
		
		for(Student st:s1){
			showStu(st);//显示学生信息
			
		}
		show("为最后一页，没有更多的了");
		enter();
		showMenu();
	
	}
	/**
	 * 添加通讯录中学生资料
	 */
	public static void addTxl(){
		String name,sex,addr,tel,email,yn;
		System.out.println("输入学生信息");
		System.out.println("姓名:");
		name = new Scanner(System.in).next();
		System.out.println("性别:");
		sex = new Scanner(System.in).next();
		System.out.println("地址:");
		addr = new Scanner(System.in).next();
		System.out.println("电话:");
		tel = new Scanner(System.in).next();
		System.out.println("email:");
		email = new Scanner(System.in).next();
		Student s = new Student(name, sex, addr, tel, email);
		System.out.println("您将要创建以下联系人：");
		showStu(s);
		System.out.println("是否创建？y/n");
		yn = new Scanner(System.in).next();
		if("y".equals(yn)){
			txl.addStudent(s);
			show("信息添加成功！");
			enter();
			showMenu();
		}else{
			show("信息未添加！");
			enter();
			showMenu();
			
		}
		
	}
	
	public static void saveTxl(){
		txl.saveTongxl(f);
		show("信息保存成功！");
		enter();
		showMenu();
	}
	
	/**
	 * 删除学生信息
	 */
	public static void deleteTxl(){
		System.out.println("请输入要删除学生的姓名：");
		String sel = new Scanner(System.in).next();
		Student s1[] = txl.findStu(sel);//查找联系人
		if(s1.length==0){
			show("没有该联系人，请确定姓名是否输入正确！");
			enter();
			showMenu();
			return;
		}else{
			for(int i=0;i<s1.length;i++){
				txl.removeStu(s1[i]);
			}
			
		}
		show("删除成功！");
		enter();
		showMenu();
	}
	
	/**
	 * 更新学生信息
	 */
	public static void updateTxl(){
		show("请输入学生信息：");
		System.out.println("姓名");
		String up = new Scanner(System.in).next();
		Student s[] = txl.findStu(up);
		if(s.length==0){
			show("没有该学生信息，请重新输入！");
			enter();
			showMenu();
			return;
		}
		for(Student s1:s){
			showStu(s1);
		}
		int i=1;
		String name,sex,addr,tel,email,yn;
		System.out.println("输入学生信息");
		System.out.println("姓名:");
		name = new Scanner(System.in).next();
		System.out.println("性别:");
		sex = new Scanner(System.in).next();
		System.out.println("地址:");
		addr = new Scanner(System.in).next();
		System.out.println("电话:");
		tel = new Scanner(System.in).next();
		System.out.println("email:");
		email = new Scanner(System.in).next();
		Student stu = new Student(name, sex, addr, tel, email);
		txl.modifiedStu(s[i-1], stu);
		txl.removeStu(s[i-1]);
		show("修改成功！");
		enter();
		showMenu();
	}
	
	
	public static void main(String[] args){
		txl.tongxunl(f);
		showMenu();
	}
	
}
